import { _GM_deleteValue, _GM_getValue, _GM_setValue } from "./lib/GM";

export const retryLimit = 5;
export const enableDebug = {
  value: false,
};
export const TxtDownload = {
  value: true,
};
export const EpubDownload = {
  value: true,
};
export const customDownload = {
  value: false,
};
export const concurrencyLimit = {
  value: 1,
};
export const sleepTime = {
  value: 500,
};
export const maxSleepTime = {
  value: 2000,
};
export const enableCustomFinishCallback = true;
export const enableCustomChapterFilter = true;
export const enableCustomSaveOptions = true;
export const enableJjwxcRemoteFont = true;
export const enableSaveToArchiveOrg = true;

export const iconStart0 =
  "";
export const iconStart1 =
  "";
export const iconSetting =
  "";
export const iconJump =
  "";

export async function getCustomEnableSaveToArchiveOrg() {
  const keyName = "novel-downloader-enableSaveToArchiveOrg";
  const value = (await _GM_getValue(keyName)) as string | undefined;
  if (value === undefined) {
    const v = confirm(
      `欢迎使用小说下载器脚本！
本脚本为404小说文库项目的组成部分之一。404小说文库项目致力于存档、保存、恢复因种种原因被删除的网络小说。
您是否同意将当前书页存档至互联网档案馆（archive.org），以备日后（被删除后）查看？

如您同意，小说下载器脚本将会发送当前书籍详情页URL及目录页URL（如果存在）至存档服务后端。
该过程将会搜集并上报您如下信息：IP地址、User-Agent、Referer、当前书籍详情页URL、当前书籍目录页URL（如果存在）、当前小说下载器脚本版本、当前脚本管理器版本。
除上述信息外，不会搜集您任何其他信息。

本存档功能为主体功能以外的附加功能，同意与否并不影响小说下载功能的正常使用。`
    );
    await _GM_setValue(keyName, JSON.stringify(v));
    return v;
  } else {
    try {
      const v = JSON.parse(value);
      if (typeof v !== "boolean") {
        // noinspection ExceptionCaughtLocallyJS
        throw new Error("value is not boolean");
      }
      return v;
    } catch (error) {
      await _GM_deleteValue(keyName);
      return false;
    }
  }
}
